package com.xzy.sms.core.utils;

import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.text.StrSubstitutor;

/**
 * 模板参数替换
 * @author huchangjiang
 * @since 1.0
 * @version 2016年1月28日 huchangjiang
 */
public class TemplateUtils {
    
    /**
     * 模板替换
     * @param templateContent x
     * @param parameter x
     * @return x
     */
    public static String builderTemplate(String templateContent, Map<String, String> parameter) {
        if (StringUtils.isBlank(templateContent)) {
            return StringUtils.EMPTY;
        }
        
        return StrSubstitutor.replace(templateContent, parameter);
    }
    
    /**
     * 从请求中获取模板参数
     *
     * @param request x
     * @return x
     */
    public static Map<String, String> getTemplateParameter(HttpServletRequest request) {
        Map<String, String> map = new HashMap<>();
        // 获取模板参数
        Enumeration<String> keys = request.getParameterNames();
        while (keys.hasMoreElements()) {
            String key = keys.nextElement();
            if (key.startsWith("$")) {
                map.put(key.substring(1), request.getParameter(key));
            }
        }
        return map;
    }
}
